package com.ftj.controller.test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

/**
 * Created by 21seu.ftj on 2020/9/12 10:34
 */
@Controller
public class UploadController {

    private final static String FILE_UPLOAD_PATH = "D:\\IntelliJ IDEA 2019.3.1\\pics";

    @RequestMapping("/upload")
    @ResponseBody
    public String upload(@RequestParam("file")MultipartFile file){
        if (file.isEmpty()){
            return "上传失败";
        }
        String fileName = file.getOriginalFilename();
        String suffixName = fileName.substring(fileName.lastIndexOf("."));
        System.out.println("文件后缀名："+suffixName);
        //生成文件名称通用方法
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
        Random random = new Random();
        StringBuffer tempName = new StringBuffer();
        tempName.append(sdf.format(new Date())).append(random.nextInt(100)).append(suffixName);
        System.out.println("Test文件名称为："+tempName);
        String newFileName = tempName.toString();
        System.out.println("文件名称为："+newFileName);
        try {
            //保存文件
            byte[] bytes = file.getBytes();
            Path path = Paths.get(FILE_UPLOAD_PATH + newFileName);
            Files.write(path,bytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "上传成功，文件地址为：/files/pics" + newFileName;
    }
}
